As the processing performance of an image processing system is enhanced, the field of application of the image processing system is now very broad. Although the image processing system was previously applied only to the field of factory automation (FA), it is now applied, for instance, to indoor/outdoor human monitoring, face recognition by a digital camera or the like, and external world recognition by a vehicle-mounted camera.
Meanwhile, as an enormous amount of data is to be processed in the development of the image processing system, a sufficiently high performance-to-cost ratio (or performance-to-power ratio) is not achieved when processing is performed by a general-purpose CPU (Central Processing Unit). As such being the case, an embedded LSI (Large Scale Integration) including an image processing hardware accelerator is frequently used. The embedded LSI is a circuit mounted in an embedded device. The embedded device performs image processing at high speed by using the embedded LSI.
Hence, it is necessary to develop recognition software by using a programming language library for implementing driver software operative in the embedded LSI. In the development of embedded device software, a programming language, such as the C language, is generally used. The driver software for the embedded LSI is similarly supplied as a programming language library. In most cases, therefore, recognition software developers inevitably perform programming in the programming language to develop the recognition software.
However, when programming is performed in the programming language, various problems, such as a large number of man-hours and a frequent human error, are encountered.
An existing technology providing an effective solution to the above problems is a model-based development technology.
Unlike conventional technologies for programming-language-based development, the model-based development technology uses, for example, the following approaches:
(a) To enumerate processing blocks predefined in a software development environment in the order of processing
(b) To connect software component diagrams defined similarly in the software development environment in a drawing
By using the above approaches, the model-based development technology writes a software processing flow (hereinafter referred to as the model), allows the model to perform a simulated operation on a computer for verification purposes, and generates, in some cases, a programming language source code from the model. An example of the model-based development technology is described in Patent Literature
1. The example described in Patent Literature 1 relates to approach (a) above.